# coding=utf8

# Copyright 2018 JDCLOUD.COM
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# NOTE: This class is auto generated by the jdcloud code generator program.


class TidbInstanceAttribute(object):

    def __init__(self, instanceId=None, instanceName=None, engineVersion=None, architecture=None, minorVersion=None, totalNodeNum=None, tidbNodeSpec=None, tikvNodeSpec=None, pdNodeSpec=None, monitorNodeSpec=None, tiflashNodeSpec=None, ticdcNodeSpec=None, totalCPU=None, totalMemoryGB=None, totalStorageGB=None, regionId=None, azId=None, vpcId=None, subnetId=None, internalDomainName=None, publicDomainName=None, monitorInternalDomainName=None, monitorPublicDomainName=None, pdInternalDomainName=None, pdPublicDomainName=None, dmsInternalDomainName=None, dmsPublicDomainName=None, instancePort=None, monitorPort=None, pdPort=None, dmsPort=None, instanceStatus=None, createTime=None, charge=None, tags=None):
        """
        :param instanceId: (Optional) 实例ID
        :param instanceName: (Optional) 实例名称
        :param engineVersion: (Optional) 实例引擎版本
        :param architecture: (Optional) CPU架构
        :param minorVersion: (Optional) 实例引擎版本的详细版本号
        :param totalNodeNum: (Optional) 集群中节点的总数
        :param tidbNodeSpec: (Optional) TiDB节点规格和数目
        :param tikvNodeSpec: (Optional) TiKV节点规格和数目
        :param pdNodeSpec: (Optional) PD节点规格和数目
        :param monitorNodeSpec: (Optional) Monitor节点规格，只能有1个Monitor节点
        :param tiflashNodeSpec: (Optional) TiFlash节点规格和数目
        :param ticdcNodeSpec: (Optional) Ticdc节点规格和数目
        :param totalCPU: (Optional) 整个集群总的CPU核数
        :param totalMemoryGB: (Optional) 整个集群总的内存大小，单位GB
        :param totalStorageGB: (Optional) 整个集群总的存储空间大小，单位GB
        :param regionId: (Optional) 地域ID
        :param azId: (Optional) 可用区ID，目前仅支持单可用区
        :param vpcId: (Optional) VPC的ID
        :param subnetId: (Optional) 子网的ID
        :param internalDomainName: (Optional) TiDB内网域名
        :param publicDomainName: (Optional) TiDB公网域名
        :param monitorInternalDomainName: (Optional) TiDB监控的内网域名
        :param monitorPublicDomainName: (Optional) TiDB监控的公网域名
        :param pdInternalDomainName: (Optional) PD的内网域名
        :param pdPublicDomainName: (Optional) PD的公网域名
        :param dmsInternalDomainName: (Optional) DMS的内网域名
        :param dmsPublicDomainName: (Optional) DMS的公网域名
        :param instancePort: (Optional) 应用访问端口
        :param monitorPort: (Optional) TiDB监控的端口
        :param pdPort: (Optional) PD的端口
        :param dmsPort: (Optional) DMS的端口
        :param instanceStatus: (Optional) 实例状态，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)
        :param createTime: (Optional) 实例创建时间, UTC 时间格式
        :param charge: (Optional) 计费配置
        :param tags: (Optional) 标签信息
        """

        self.instanceId = instanceId
        self.instanceName = instanceName
        self.engineVersion = engineVersion
        self.architecture = architecture
        self.minorVersion = minorVersion
        self.totalNodeNum = totalNodeNum
        self.tidbNodeSpec = tidbNodeSpec
        self.tikvNodeSpec = tikvNodeSpec
        self.pdNodeSpec = pdNodeSpec
        self.monitorNodeSpec = monitorNodeSpec
        self.tiflashNodeSpec = tiflashNodeSpec
        self.ticdcNodeSpec = ticdcNodeSpec
        self.totalCPU = totalCPU
        self.totalMemoryGB = totalMemoryGB
        self.totalStorageGB = totalStorageGB
        self.regionId = regionId
        self.azId = azId
        self.vpcId = vpcId
        self.subnetId = subnetId
        self.internalDomainName = internalDomainName
        self.publicDomainName = publicDomainName
        self.monitorInternalDomainName = monitorInternalDomainName
        self.monitorPublicDomainName = monitorPublicDomainName
        self.pdInternalDomainName = pdInternalDomainName
        self.pdPublicDomainName = pdPublicDomainName
        self.dmsInternalDomainName = dmsInternalDomainName
        self.dmsPublicDomainName = dmsPublicDomainName
        self.instancePort = instancePort
        self.monitorPort = monitorPort
        self.pdPort = pdPort
        self.dmsPort = dmsPort
        self.instanceStatus = instanceStatus
        self.createTime = createTime
        self.charge = charge
        self.tags = tags
